package com.itheima.demo;

import java.util.Random;

public class Test2 {
    public static void main(String[] args) {
        // 目标：掌握生产验证码。
        System.out.println("四位验证码：" + createCode(4));
        System.out.println("六位验证码：" + createCode(6));
    }

    public static String createCode(int length){
        // 1、准备一个字符串变量用于拼接每位随机字符作为验证码 
        String code = "";
        // 2、使用循环产生每位随机字符
        Random r = new Random();
        for (int i = 0; i < length; i++) {
            // 3、为当前位置产生一位随机字符：可能是数字，大写，小写。
            // 4、随机三个数字，表示当前位置是随机数字0，还是大写1，还是小写2。
            int type = r.nextInt(3); // 0 - 2
            switch (type) {
                case 0:
                    // 随机数字
                    int number = r.nextInt(10);
                    code += number;
                    break;
                case 1:
                    // 随机大写: A - Z  65 -> 65+25
                    char c1 = (char) (r.nextInt(26) + 65);
                    code += c1;
                    break;
                case 2:
                    // 随机小写: a - z  97 -> 97+25
                    char c2 = (char) (r.nextInt(26) + 97);
                    code += c2;
            }
        }
        return code;
    }
}
